import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

public class JDBCinserDemo {
    //使用jdbc
    public static void main(String[] args)throws SQLException {
        //数据库teat1111 数据表student1
        //1.创建数据源  描述了数据库服务器在哪
        DataSource dataSource=new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/teat1111?characterEncoding=utf8&useSSL=false");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("2029889073");
        //2.和数据库建立网络连接（jdbc本质上是实现一个MySQL客户端，要通过网络和服务器进行通信）
        Connection connection=dataSource.getConnection();
        //3.构造一个sql语句，来完成插入操作。
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入学号: ");
        int id = scanner.nextInt();
        System.out.println("请输入姓名: ");
        String name = scanner.next();
        String sql = "insert into student1 values(?, ?)";
        //String sql="insert into student1 values(1,'张三')";
        //jdbc中还需要一个具体对象来描述这里的sql的情况
        PreparedStatement statement= connection.prepareStatement(sql);
        statement.setInt(1, id);
        statement.setString(2, name);
        System.out.println("sql: " + statement);
        //4.执行sql语句，（控制客户端向服务器发送请求）
        int ret= statement.executeUpdate();
        System.out.println("ret="+ret);
        //5.断开和数据库的链接，并释放必要的资源。
        statement.close();
        connection.close();
    }
}
